En kurs i “Data Science”

The Data Science Venn Diagram

Statistisk databehandling

Vi kommer inte beröra…

  • …speciella verktyg för saker som är för stora för datorns internminne (Big Data?)…
  • …verktyg för regression och prediktion (Machine learning, Deep learning, …)…
  • …men kanske Data mining??

Kursupplägg

Kursbok

Uppgifter på DataCamp

Ger grundläggande träning och förberedelse inför lektion. Inte betygsgrundande, men lektioner och handledning kommer förutsätta att de är gjorda.

Hur använder jag X för att Y? (1)

Hur använder jag X för att Y? (2)

Icke-tidyverse-lösningar i delmoment

Kursupplägg

  • Förberedelse: Uppgifter på DataCamp inför varje lektion.
  • Lektioner: Programmeringsuppgifter med handledning. Få antal “vanliga” lektioner!
  • Examination:
    • 6 inlämningsuppgifter.
    • Digital tentamen.
    • Projekt.

Inlämningsuppgifter (3hp, U/G)

  • Sex uppgifter med deadlines följande sex söndagar.
  • Löses individuellt och självständigt (begränsad handledning).
  • Obligatorisk kamratgranskning + feedback från lärare.
  • Missad deadline/underkänd uppgift: Omexamination sker i Feb.
  • När nästa kursomgång startar nollställs alla delresultat av delmomenten.

E-tenta (1,5hp, A-F)

  • Obs, tentan är på distans!
  • Problemlösning i RStudio. Vissa frågor kommer vara tagna från lektionsunderlag.
  • Hjälpmedel: Relevanta Cheatsheets från RStudio.
  • Examination i December, omtenta i Januari (TimeEdit)

Projekt (3 hp, A-F)

  • Ett inlägg i en data-blogg. Grunden till din C-uppsats?
  • Belyser en frågeställning med hjälp av ett “unikt” datamaterial.
  • Handledningstillfällen, nätet och på plats. Tänk tidigt på ämne!
  • Kort (5 min!) muntlig presentation (TimeEdit).

Reproducerbarhet

Klipp, klistra, klicka ladda in data och andra problem

  • Som statistiker/aktuarie/matematiker kommer du göra många anaylser.
  • Du kommer att skriva många rapporter.
  • Många frestas skapa tabeller och figurer genom att klippa, klistra, klicka i och mellan Excel-ark.

Problem

  • Hur behandlade du NA/“missing values”?
  • Vad använde du för model för att få fram dessa resultat, med vilka parameterar?
  • Snygg figur, men kan jag få en tabell istället?
  • Nästa år får en kollega (eller du själv) samma uppdrag och undrar hur du fick fram uppgifterna/datan.

Reproducerbar dataanalys

Reproducibility is the ability to get the same research results or inferences, based on the raw data and computer programs provided by researchers. (Wikipedia)

  • Jfr Replikerbarhet, förmågan att komma fram till samma slutsats baserat på oberoende data/analys.
  • Du kan aldrig garantera att du gjort “rätt”, men du kan i alla fall dokumentera vad du gjort.
  • Det kan också vara svårt att garantera att allt fungerar lika mellan OS.

Reproducerbar dataanalys

  • Allt skrivet i kod (inget klickande eller klippande/klistrande av resultat/tabeller/figurer)

  • Portabelt (koden skall vara körbar, inte bara på din dator idag)

  • Tillgängligt (andra skall enkelt kunna ta del av och reproducera din analys)

  • Automatiserat från rådata till rapport (en knapptyckning skall räcka för att generera slutprodukten)

Verktyg för reproducerbar dataanalys

Kod: R eller Python?

Kod: R eller Python!

Men varje sak kan göras på många, lite för många, sätt i R.

summary(mtcars$mpg)
summary(mtcars$"mpg")
summary(mtcars[, "mpg"])
summary(mtcars["mpg"])
summary(mtcars[["mpg"]])
summary(mtcars[1])
summary(mtcars[, 1])
summary(mtcars[[1]])
with(mtcars, summary(mpg))
attach(mtcars); summary(mpg)
summary(subset(mtcars, select=mpg))

Från http://r4stats.com/articles/why-r-is-hard-to-learn/

Kod: Hadleyverse Tidyverse

En serie R-paket från RStudio. Design filosofi: Snabba, konsistenta, ändamålsenliga funktioner. Fokus i denna kurs.

Automatisk rapportgenerering

Automatisk rapportgenerering: Markdown

Automatisk rapportgenerering: R Markdown

En utveckling av Markdown som inkluderar körbar kod.

knitr: .Rmd → .md

Tillgänglighet och god programmeringsstil

  • En viktig aspekt för att göra kod tillgänglig är att göra den läsbar

  • I den här kursen kommer vi att använda The tidyverse style guide av Hadley Wickham

  • styler-paketet har ett bekvämt Rstudio-Addin som hjälper dig transformera din kod enligt stilguiden

Tillgänglighet och versionshantering: Git och GitHub

  • En mjukvara för versionshantering
  • En webbaserad lagringstjänst för din historik

Versionshantering: Git

Tillgänglighet: GitHub

Allt väl integrerat genom R Studio.

Ger även .Rproj för ökad portabilitet.

Sammanfattning

  • Allt skrivet i kod: R

  • Portabelt: .Rproj (RStudio)

  • Tillgängligt: GitHub

  • Automatiserat: R Markdown

Gästföreläsningar av “Data Scientist”

2020-11-29: Benjamin Allévius - Senior Data scientist

Handledning

  • Största delen av kursen är arbete på egen hand, allting finns på nätet. Därför drar vi ned på timmar du behöver vara på plats/tillgänglig.
  • Du bestämmer tempot, alla 6 inlämningsuppgifter finns online.
  • Distans innebär att vi kör föreläsning/handledning forum och/eller zoom.